
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
                
